/*
DS18B20 驱动头文件
*/
#ifndef _DS18B20_H
#define _DS18B20_H

//##################################################################################################
// 引入头文件
#include "main.h"
//#include "stm32f4xx_hal.h"

//##################################################################################################
// DS18B20 IO 宏定义
#define	DS18B20_PORT	DS18B20_GPIO_Port
#define DS18B20_PIN		DS18B20_Pin

// DS18B20 IO 读写宏定义
#define DS18B20_WRITE(x)	HAL_GPIO_WritePin(DS18B20_PORT, DS18B20_PIN, x)
#define DS18B20_READ	HAL_GPIO_ReadPin(DS18B20_PORT, DS18B20_PIN)


// 是否开启调试
#define _DS18B20_DEBUG	0


//##################################################################################################
// DS18B20 结构定义
typedef struct
{
	uint16_t tempHLData;
	float temp; // 最终获取到的温度
} DS18B20_TypeDef;

extern DS18B20_TypeDef ds18b20;

//##################################################################################################
// 函数声明
uint8_t ds18b20_Init(void); // 初始化
float ds18b20_GetTemp(void); // 获取最终的温度

//##################################################################################################
#endif // _DS18B20_H
